package com.igorkundovic.guitarstab.service;

import java.io.Serializable;
import java.util.List;

import org.apache.tapestry5.hibernate.annotations.CommitAfter;

import com.igorkundovic.guitarstab.Artist;
import com.igorkundovic.guitarstab.Genre;
import com.igorkundovic.guitarstab.Tab;
import com.igorkundovic.guitarstab.User;

public interface TabService {

	@CommitAfter
	Long save(Tab tab);
	@CommitAfter
	public boolean deleteTab(User user);
	@CommitAfter
	public boolean delete(Tab tab);
	@CommitAfter
	public void update(Tab tab);
	Tab get(Long id);
	List<Tab> retrieve();
	List<Tab> retrieveMine(User user);
	List<Tab> searchByArtist(Artist artist,String criteriaQueryExclude);
	List<Tab> searchByGenre(Genre genre);
	
	
}
